diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 99c95a6..6da645a 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -960,13 +960,13 @@
 	 * @access	public
 	 * @return	void
 	 */		
-	function cache_delete()
+	function cache_delete($segment_one = '', $segment_two = '')
 	{
 		if ( ! $this->_cache_init())
 		{
 			return FALSE;
 		}
-		return $this->CACHE->delete();
+		return $this->CACHE->delete($segment_one, $segment_two);
 	}
 
 	// --------------------------------------------------------------------
diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php
index 51e43a7..13fcaa5 100644
--- a/system/database/DB_utility.php
+++ b/system/database/DB_utility.php
@@ -37,7 +37,7 @@
 	{
 		// Assign the main database object to $this->db
 		$CI =& get_instance();
-		$this->CI =& $obj->db;
+		$this->db =& $CI->db;
 		
 		log_message('debug', "Database Utility Class Initialized");
 	}
@@ -100,7 +100,7 @@
 			return $this->data_cache['db_names'];
 		}
 	
-		$query = $this->db->query($this->_list_database());
+		$query = $this->db->query($this->_list_databases());
 		$dbs = array();
 		if ($query->num_rows() > 0)
 		{
@@ -147,7 +147,7 @@
 	function optimize_database()
 	{
 		$result = array();
-		foreach ($this->list_tables() as $table_name)
+		foreach ($this->db->list_tables() as $table_name)
 		{
 			$sql = $this->_optimize_table($table_name);
 			
@@ -356,7 +356,7 @@
 		// If no table names were submitted we'll fetch the entire table list
 		if (count($prefs['tables']) == 0)
 		{
-			$prefs['tables'] = $this->list_tables();
+			$prefs['tables'] = $this->db->list_tables();
 		}
 		
 		// ------------------------------------------------------
diff --git a/system/libraries/Output.php b/system/libraries/Output.php
index 7e85945..9c48bbb 100644
--- a/system/libraries/Output.php
+++ b/system/libraries/Output.php
@@ -300,7 +300,7 @@
 	function _display_cache(&$CFG, &$RTR)
 	{
 		$CFG =& load_class('Config');
-		$RTR =& load_class(('Router');
+		$RTR =& load_class('Router');
 	
 		$cache_path = ($CFG->item('cache_path') == '') ? BASEPATH.'cache/' : $CFG->item('cache_path');
 			
